package com.itheima.d7_jdk8_time;
import java.time.LocalDate;

public class Test1_LocalDate {
    public static void main(String[] args) {
        // 0、获取本地日期对象(不可变对象)
        LocalDate ld = LocalDate.now(); // 年 月 日
        System.out.println(ld);

        // 1、获取日期对象中的信息
        int year = ld.getYear(); // 年
        int month = ld.getMonthValue(); // 月(1-12)
        int day = ld.getDayOfMonth(); // 日
        int dayOfYear = ld.getDayOfYear();  // 一年中的第几天
        int dayOfWeek = ld.getDayOfWeek().getValue(); // 星期几
        System.out.println(year);
        System.out.println(day);
        System.out.println(dayOfWeek);

        // 2、直接修改某个信息: withYear、withMonth、withDayOfMonth、withDayOfYear
        // 注意 : JDK8开始的日期类,是不可改变的
        // 5、获取指定日期的LocalDate对象： public static LocalDate of(int year, int month, int dayOfMonth)
        LocalDate l1=LocalDate.of(2025,10,10);
        System.out.println(l1);

        LocalDate l2=l1.withYear(2020);
        System.out.println(l2);

        l2=l1.withMonth(5);
        System.out.println(l2);

        l2=l1.withDayOfMonth(5);
        System.out.println(l2);

        l2=l1.withDayOfYear(5);//周
        System.out.println(l2);
        // 3、把某个信息加多少: plusYears、plusMonths、plusDays、plusWeeks
        l2=l1.plusYears(10);
        System.out.println(l2);

        l2=l1.plusMonths(10);
        System.out.println(l2);

        l2=l1.plusDays(10);
        System.out.println(l2);

        l2=l1.plusWeeks(10);
        System.out.println(l2);
        // 4、把某个信息减多少：minusYears、minusMonths、minusDays、minusWeeks
        l2=l1.minusYears(10);
        System.out.println(l2);

        l2=l1.minusMonths(9);
        System.out.println(l2);

        l2=l1.minusDays(10);
        System.out.println(l2);

        l2=l1.minusWeeks(10);
        System.out.println(l2);

        // 6、判断2个日期对象，是否相等，在前还是在后： equals isBefore isAfter

        System.out.println(l1.isBefore(ld));
        System.out.println(l1.isAfter(ld));
        System.out.println(l1.isEqual(ld));
    }
}
